package 字符串;

/**
 * @Author Weton Li
 * @Date 2021/4/2 10:14
 */
public class 反转字符串单词 {

    public static String method(String s) {
        StringBuffer sb = new StringBuffer();
        int n = s.length();

        int i = 0;// 无论遍历到什么，i每遍历到都++

        while (i < n) {
            int start = i; // 空格的下一个字符索引（即每个单词的起始位）
            while (i < n && s.charAt(i) != ' ') {
                i++;
            }

            for (int p = start; p < i; p++) { // 从第一个单词的起始到第二个单词的起始
                sb.append(s.charAt(start + i - 1 - p));
            }
            while (i < n && s.charAt(i) == ' ') {
                i++;
                sb.append(' ');
            }
        }
        return sb.toString();
    }

    public static void main(String[] args) {
        String input = "m'I gnivol twl";
        System.out.println(method(input));
    }
}
